home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / LIBRARY / TOOLPAS2 / MAKEBODY.PAS < prev    next >
Pascal/Delphi Source File  |  1991-04-18  |  2KB  |  81 lines

  1.  
  2. (*
  3.  * makebody - generate a unit body from files in the current directory
  4.  *
  5.  * samuel h. smith, 4-18-91
  6.  *
  7.  *)
  8.  
  9. uses dos;
  10.  
  11. const
  12.    maxfiles = 200;
  13.  
  14. type
  15.    fileinfo = record
  16.       fname:   namestr;
  17.       ext:     extstr;
  18.    end;
  19.  
  20. var
  21.    filetab: array[1..maxfiles] of fileinfo;
  22.    files:   integer;
  23.    search:  searchrec;
  24.    dir:     dirstr;
  25.    i:       integer;
  26.  
  27. begin
  28.    files := 0;
  29.  
  30.    findfirst('*.*',$21,search);
  31.    while doserror = 0 do
  32.    begin
  33.       if files < maxfiles then
  34.          inc(files);
  35.  
  36.       with filetab[files] do
  37.          fsplit(search.name,dir,fname,ext);
  38.  
  39.       findnext(search);
  40.    end;
  41.  
  42.    writeln;
  43.    writeln('unit ',paramstr(1),';');
  44.    writeln;
  45.    writeln('interface');
  46.    writeln('   uses ;');
  47.    writeln;
  48.    for i := 1 to files do
  49.       with filetab[i] do
  50.          if (ext = '.DCL') or (ext = '.INT') then
  51.             writeln('   {$i ',fname,ext,'}');
  52.  
  53.    writeln;
  54.    writeln('implementation');
  55.    writeln('   uses ;');
  56.    writeln;
  57.    for i := 1 to files do
  58.       with filetab[i] do
  59.          if (ext = '.INC') then
  60.             writeln('   {$i ',fname,ext,'}');
  61.  
  62.    writeln;
  63.    writeln('{initialization}');
  64.    writeln;
  65.    for i := 1 to files do
  66.       with filetab[i] do
  67.          if (ext = '.INI') then
  68.             writeln('   {$i ',fname,ext,'}');
  69.  
  70.    writeln;
  71.    writeln('begin');
  72.    for i := 1 to files do
  73.       with filetab[i] do
  74.          if (ext = '.INI') then
  75.             writeln('   ',fname,'_initialize;');
  76.    writeln('end.');
  77.    writeln;
  78.  
  79. end.
  80.  
  81.